package com.syf.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.syf.domain.CashRecharge;
import com.baomidou.mybatisplus.extension.service.IService;
import com.syf.domain.CashRechargeAuditRecord;
import com.syf.model.CashParam;
import com.syf.vo.CashTradeVo;

/**
*
*
*@author 苏耀奋
*@create 2021-10-12 18:48
*/
public interface CashRechargeService extends IService<CashRecharge>{


        /**
         * 条件分页查询 -- GCN充值记录
         * @param page
         * @param coinId
         * @param userId
         * @param userName
         * @param mobile
         * @param status
         * @param numMin
         * @param numMax
         * @param startTime
         * @param endTime
         * @return
         */
        Page<CashRecharge> findByPage(Page<CashRecharge> page, Long coinId, Long userId, String userName, String mobile, Byte status, String numMin, String numMax, String startTime, String endTime);


        /**
         * 查询当前用户的充值的数据
         * @param page   分页对象
         * @param userId 用户的Id
         * @param status 订单的状态
         * @return
         */
        Page<CashRecharge> findUserCashRecharge(Page<CashRecharge> page, Long userId, Byte status);

        /**
         * 进行一个GCN/充值/购买
         *
         * @param userId    用户的id
         * @param cashParam 现金参数
         * @return
         */
        CashTradeVo buy(Long userId, CashParam cashParam);

        /**
         * 现金的充值审核
         * @param userId
         *  审核人
         * @param cashRechargeAuditRecord
         *  审核的数据
         * @return
         *  是否审核成功
         */
        boolean cashRechargeAudit(Long userId, CashRechargeAuditRecord cashRechargeAuditRecord);
}
